package br.com.devmedia.controller.managedbeans;

import java.util.List;

import javax.faces.bean.ManagedBean;
import javax.faces.bean.SessionScoped;

import br.com.devmedia.beans.Grupo;
import br.com.devmedia.modelo.dao.HibernateDAO;

@ManagedBean
@SessionScoped
public class GrupoBean {
	private HibernateDAO<Grupo> hibernateDAO;
	private Grupo grupo;

	public GrupoBean() {
		this.hibernateDAO = new HibernateDAO<Grupo>(Grupo.class);
	}

	public String listar() {
		return "/privado/grupo/listar?faces-redirect=true";
	}

	public String novo() {
		this.grupo = new Grupo();
		return "form?faces-redirect=true";
	}

	public String cancelar() {
		return "listar?faces-redirect=true";
	}

	public String gravar() {
		if (grupo.getId() == null)
			this.hibernateDAO.gravar(grupo);
		else
			this.hibernateDAO.atualizar(grupo);

		return "listar?faces-redirect=true";
	}

	public String alterar(Grupo grupo) {
		this.grupo = grupo;
		return "form?faces-redirect=true";
	}

	public String excluir(Grupo grupo) {
		this.hibernateDAO.excluir(grupo);
		return "listar?faces-redirect=true";
	}

	public List<Grupo> listarTodos() {
		return this.hibernateDAO.listarTodos();
	}

	public Grupo getGrupo() {
		return grupo;
	}

	public void setGrupo(Grupo grupo) {
		this.grupo = grupo;
	}
}
